package com.ht.service.impl;

import com.ht.bean.*;
import com.ht.common.TreeView;
import com.ht.dao.PermissionDao;
import com.ht.service.PermissionService;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;

@Service
//权限服务层
public class PermissionServiceimpl implements PermissionService {
    @Resource
    private PermissionDao dao;
    //构造树状图函数
    private TreeView tvie;

    //权限模块————————————————————————————————————————————————————————————————————
    //查询角色权限管理
    @Override
    public List<Characters> litchare(Integer pid, Integer lime, Characters characters) {
        return dao.litcha(pid,lime,characters);
    }
    //权限角色数量查询
    @Override
    public int countchare( Characters characters) {
        return dao.cuntcha(characters);
    }
    //新增前查询需要绑定的岗位表
    @Override
    public List<Post> lidpost() {
        return dao.lidpost();
    }
    //新增权限角色
    @Override
    public boolean addchare( Characters characters) {
        return dao.addchare(characters);
    }
    //删除权限角色
    @Override
    public boolean delchare(Integer characterId) {
        return dao.delchare(characterId);
    }
    //修改权限角色前的查询
    @Override
    public Characters litupre(Integer characterId) {
        return null;
    }

    //修改权限角色
    @Override
    public boolean upchare(Characters characters) {
        return dao.upchare(characters);
    }
    //查询角色现拥有的系统权限
    @Override
    public List<Integer> litquan(Integer characterId) {
        return dao.litquan(characterId);
    }
    //查询系统权限表数量
    @Override
    public int modactu() {
        return dao.modactu();
    }

    //查询系统权限表
    @Override
    public List<Module> modlit() {
        List<Module> lide = dao.modlid();
//        // 创建树形结构（数据集合作为参数）
//        TreeView treeView = new TreeView(lide);
//        // 原查询结果转换树形结构
//        lide = treeView.buildTree();
        return lide;
    }
    //查询系统权限表数量
    @Override
    public Integer actupre() {
        return dao.modactu();
    }
    //删除角色的系统权限
    @Override
    public boolean delmodeid(Integer characterId) {
        return dao.delmodeid(characterId);
    }
    //新增角色的系统权限
    @Override
    public boolean indmodel(List<Charmodule> charmodule) {
        return dao.indmodel(charmodule);
    }
    //查询角色现拥有的系统权限的数量
    @Override
    public int litquann(Integer characterId) {
        return dao.litquann(characterId);
    }

    //查询拥有该角色的员工的id，通过角色id查询
    @Override
    public List<Integer> litchempid(Integer characterId) {
        return dao.litchempid(characterId);
    }

    //查询部门表
    @Override
    public List<Dep> litdepduijian() {
        return dao.litdepduijian();
    }

    //查询员工表
    @Override
    public List<Emp> litempduijian() {
        return dao.litempduijian();
    }

    //删除用户角色表的数据
    @Override
    public boolean delcemp(Integer characterId) {
        return dao.delcemp(characterId);
    }

    //新增用户角色表的数据
    @Override
    public boolean inschaemp(List<Charemp> charemp) {
        return dao.inschaemp(charemp);
    }


}
